home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Scene 96
/
Scene 96 International Edition (Zyklop Software) (Disc 1) (1997).iso
/
emulator
/
c64s
/
testdisk.d64
/
schnee-indikator
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1996-02-18
|
5KB
|
159 lines
10 REM *****************************
20 REM * SCHNEE-GESTEUERTER WECKER *
30 REM *****************************
35 :
40 REM NIKOLAUS HEUSLER
42 REM ZWENGAUERWEG 18
44 REM 81479 SOLLN
48 :
49 REM (C) MARKT & TECHNIK 1993-1994
50 REM
60 REM USERPORT-BELEGUNG:
70 REM PB0: 1=HEIZ-RELAIS AN
80 REM PB1: 1=SCHNEE AUF SENSOR
90 REM PB2: 1=WECK-RELAIS AN
100 REM
120 RUN1000
200 REM ZEIT-EINGABE ---------------
210 C=0
220 R=PEEK(209)+PEEK(210)*256+PEEK(211)
230 PRINT""LEFT$(Z$,2)":"MID$(Z$,3,2)":"RIGHT$(Z$,2)"[157][157][157][157][157][157][157][157]";
240 RR=R+C-(C>1)-(C>3):POKERR,128+PEEK(RR)
250 GETA$:IFA$=CHR$(13)THEN300
260 IFA$=""ANDC<5THENPOKERR,PEEK(RR)AND127:C=1+C:GOTO240
270 IF(A$=CHR$(20)ORA$="[157]")ANDC>.THENPOKERR,PEEK(RR)AND127:C=C-1:GOTO240
280 IFA$<"0"ORA$>"9"THEN250
290 Z$=LEFT$(Z$,C)+A$+MID$(Z$,C+2):C=C+1+(C>4):GOTO230
300 IFVAL(LEFT$(Z$,2))>23ORVAL(MID$(Z$,3,2))>59ORVAL(RIGHT$(Z$,2))>59THEN220
310 POKERR,PEEK(RR)AND127:PRINT"[158]":RETURN
400 REM WECKRUF --------------------
402 POKE54296,15:POKE54280,200:POKE54279,100:POKE54284,9:POKE54285,240
404 POKE54273,200:POKE54277,9:POKE54278,240:FORE=1TO2
406 FORD=1TO3:POKE54276,17:POKE54283,17:FORK=0TO24:NEXT:POKE54276,16
408 POKE54283,16:FORK=0TO40:NEXTK,D:FORK=0TO100:NEXTK,E
410 RETURN
500 REM -------------------------------
510 REM HAUPTPROGRAMM -----------------
1000 SYS65409:POKE53280,.:POKE53281,.:POKE648,4:POKE54296,.
1010 PRINT"[158][147]DER 64'ER-SCHNEE-WECKER [158]NH/11.93
1020 [153]"TERMINAL ARBEITET - GLEICH GEHT'S WEITER
1022 FORI=1TO4:A$=A$+CHR$(PEEK(49151+I)):NEXT:IFA$="NH93"THEN1200
1024 PRINT"DAUER: CA. 30 SEKUNDEN PAUSE
1030 [129]I[178]0[164]9:[135]F$:D$[178]"
1031 DATA1110111,0010010,1011101,1011011,0111010
1032 DATA1101011,0101111,1110010,1111111,1111011
1033 FORJ=1TO7:IFMID$(F$,J,1)="0"THEN1048
1034 IFJ=1THEND$=" [146][157][157][157][157]
1036 [139]J[178]2[167]D$[178]D$[170]" CMD CMD CMD ONONONONCMD
1038 IFJ=3THEND$=D$+" [157] [157] [157] [145][145][145][145][157][157][157][157][157]
1040 [139]J[178]4[167]D$[178]D$[170]" WAITCMDCMDCMDCMDONONONONON
1042 IFJ=5THEND$=D$+" [157] [157] [157] [157][145][145][145][145][145][145][145][145][145]
1044 [139]J[178]6[167]D$[178]D$[170]" CMD CMD CMD ONONONONONONONONONCMDCMDCMDCMDCMD
1046 IFJ=7THEND$=D$+" [157][157][157][157][145][145][145][145][145][145][145][145][145][145]
1048 [130]:D$[178]D$[170]"WAIT"[170][199](0)
1050 [129]J[178]1[164][195](D$)
1052 [151]49151[170](1[170]I)[172]256[170]J,[198]([202](D$,J)):[130]J,I
1100 [131]160,,132,2,177,2,240,6,32,210,255,200,208,246,96,169,,133,2,133,4,169
1102 [131]204,133,3,169,4,133,5,160,,177,2,145,4,230,2,208,2,230,3,230,4,208,2
1104 [131]230,5,165,4,201,224,208,234,165,5,201,5,144,228,96,169,32,162,,157,,204
1105 [131]157,,205,232,208,247,96
1106 S[178]0:[129]I[178]49185[164]49258:[135]Q:S[178]S[170]Q:[151]I,Q:[130]
1108 [139]S[177][179]8818[167][153]"DATENFEHLER!":[144]
1110 [151]49152,78:[151]49153,72:[151]49154,57:[151]49155,51
1200 [153]"BITTE GEBEN SIE DIE UHRZEITEN IM FOR-
1202 PRINT"MAT HH:MM:SS EIN UND BETAETIGEN <RETURN>
1204 Z$[178]TI$:[143] AKTUELLE ZEIT DEFAULT
1206 [153]"WIE SPAET IST ES JETZT? ...... ";
1208 [141]200:TI$[178]Z$
1210 Z$[178]"210000":[143] HEIZUNG EIN DEFAULT
1212 [153]"WANN SOLL DIE HEIZUNG FUER DEN
1214 PRINT"SENSOR EINGESCHALTET WERDEN? ";
1216 GOSUB200:U1$=Z$
1220 Z$="043000":REM WECKZEIT 1 DEFAULT
1222 PRINT"WECKZEIT, FALLS SCHNEE GE-
1224 [153]"FALLEN IST? .................. ";
1226 [141]200:U2$[178]Z$
1230 Z$[178]"073000":[143] WECKZEIT 2 DEFAULT
1232 [153]"WECKZEIT, FALLS KEIN SCHNEE
1234 PRINT"GEFALLEN IST? ................ ";
1236 GOSUB200:U3$=Z$
2000 PRINT"[158][147]";
2001 PRINT"[158]WECKZ.1: "LEFT$(U2$,2)":"MID$(U2$,3,2)":"RIGHT$(U2$,2)
2002 PRINT"[158]WECKZ.2: "LEFT$(U3$,2)":"MID$(U3$,3,2)":"RIGHT$(U3$,2)
2004 PRINT"[158]HEIZ. : "LEFT$(U1$,2)":"MID$(U1$,3,2)":"RIGHT$(U1$,2)
2006 PRINT"[145][145][145][158]"TAB(18)" STATUS: [160]
2008 [153][163]18)" WAIT HEIZUNG:
2010 PRINTTAB(18)" [146] SCHNEE :
2012 [153][163]18)" WAIT ALARM :
2013 PRINTTAB(18)" [146]
2014 [153][163]18)" WAIT SENSOR BEHEIZT :
2016 PRINTTAB(18)" [146] WECKZ.1 ERREICHT:
2018 [153][163]18)" WAIT WECKZ.2 ERREICHT:
2020 PRINTTAB(18)" [146] PROGRAMM LAEUFT :
2022 [153][163]18)" WAIT FERTIG :
2024 PRINTTAB(18)" [146]
2026 [153][163]18)" CLOSEONONONONONON
2028 R$(0)=" ":R$(1)="[209]
2030 [153]"NEUSTART MIT
2032 PRINT"TASTE ^[146][165]
2034 [153]"ABBRUCH MIT
2036 PRINT"TASTE _[146][165]
2040 P[178]56577:[151]P[170]2,5:[143] DDR
2042 [151]P,0:[143] RELAIS AUS
2044 FL[178]0:[143] WECKER WAR NOCH NICHT EIN
2046 MF[178]0:[143] SCREENSAVER INIT
2100 [151]648,204:[158]49245:[153]"
2102 T$=TI$:FORI=1TO6:POKE3,VAL(MID$(T$,I,1))+193:SYS49185
2104 IFI=2ORI=4THENPRINT"";
2108 NEXT:POKE648,4:SYS49200
2112 PRINT""SPC(12)"[158] [146]"SPC(13)"[158] [146]
2114 [153]""[166]12)"SYS WAIT"[166]13)"SYS WAIT
2120 POKE214,14:SYS58732
2122 W$="AUS":IF(PEEK(P)AND1)THENW$="EIN
2124 [153][163]29)W$
2126 W$[178]"KEINER":[139]([194](P)[175]2)[167]W$[178]"VORHANDEN
2128 PRINTTAB(29)W$
2130 WK=.:W$="AUS":IF(PEEK(P)AND4)THENWK=1:W$="EIN
2132 [153][163]29)W$:[139]WK[167][141]400
2134 [153]""[163]38)R$(QQ):QQ[178]1[171]QQ
2200 [143] HEIZUNG EINSCHALTEN ---------
2202 [139]TI$[179][177]U1$[167]2300
2204 [151]P,[194](P)[176]1:[143] HEIZUNG AN
2300 [143] HEIZUNG AUSSCHALTEN ---------
2301 [143] NUR, FALLS KEIN SCHNEE MEHR VORHANDEN
2302 [139](([194](P)[175]2)[178]1)[176]([194](P)[175]1)[178]0[167]2400
2304 [151]P,[194](P)[175]254:[143] HEIZUNG AUS
2306 [151]214,18:[158]58732:[153][163]38)"(null)
2400 REM WECKZEIT 1 ------------------
2402 IFTI$<>U2$THEN2500
2403 POKE214,19:SYS58732:PRINTTAB(38)"[209]
2404 [139]FL[167]2500
2405 [143] WECKEN, FALLS SCHNEE
2406 [139]([194](P)[175]2)[178]0[167]2500:[143] WEITERSCHLAFEN...
2408 [141]3000:[143] WECKER AN
2500 [143] WECKZEIT 2 ------------------
2502 [139]TI$[179][177]U3$[167]2600
2503 [151]214,20:[158]58732:[153][163]38)"(null)
2504 IFFLTHEN2600
2506 GOSUB3000:REM WECKER EIN
2600 REM SCREEN-SAVER ----------------
2602 IFMF=100THEN2700
2604 IFPEEK(P)AND4THENMF=0:GOTO2700:REM NUR FALLS KEIN ALARM
2606 MF=MF+1:IFMF<20THEN2700
2608 POKE53265,43:REM BILDSCHIRM AUS
2610 MF=100
2700 REM TASTENDRUCK AUSWERTEN -------
2702 GETA$:IFA$=""THEN2800
2704 POKE53265,27:REM BILDSCHIRM EIN
2706 MF=0:REM SCREEN-SAVER INIT
2708 IFPEEK(P)AND4THENPOKE214,22:SYS58732:PRINTTAB(38)"[209]
2710 [151]P,[194](P)[175]251:[143] WECKER AUS
2712 [139]A$[178]"_"[167][138]
2714 [139]A$[178]"^"[167]2000
2800 [137]2100
3000 [143] WECKER AN -------------------
3002 FL[178]1:[143] WECKFLAG
3004 [151]53265,27:[143] BILDSCHIRM AN
3006 [151]P,[194](P)[176]4:[143] WECKER EIN
3008 [142]